<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>layui</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="../lib/layui-v2.6.3/css/layui.css" media="all">
    <link rel="stylesheet" href="../css/public.css" media="all">
    <style>
        .layui-table-cell {
            height: 60px;
            line-height: 60px;
        }
        /* height: auto !important;
          white-space: normal;
          padding: 0px;
      } */

        th .layui-table-cell {
            height: 30px;
            line-height: 30px;
        }

        th .laytable-cell-1-0-7 {
            height: 30px;
            line-height: 30px;
        }

        .layui-table img {
            width: 100px;
            height: 60px;
        }
    </style>
</head>
<body>
<div class="layuimini-container">
    <div class="layuimini-main">

        <fieldset class="table-search-fieldset">
            <legend>搜索信息</legend>
            <div style="margin: 10px 10px 10px 10px">
                <form class="layui-form layui-form-pane" action="">
                    <div class="layui-form-item">
                        <div class="layui-inline">
                            <label class="layui-form-label">自行车名称</label>
                            <div class="layui-input-inline">
                                <input type="text" name="bicycleName" autocomplete="off" class="layui-input">
                            </div>
                        </div>
                        <div class="layui-inline">
                            <label class="layui-form-label">自行车品牌</label>
                            <div class="layui-input-inline">
                                <input type="text" name="bicycleBrand" autocomplete="off" class="layui-input">
                            </div>
                        </div>
                        <div class="layui-inline">
                            <label class="layui-form-label">自行车类型</label>
                            <div class="layui-input-inline">
                                <input type="text" name="productModel" autocomplete="off" class="layui-input">
                            </div>
                        </div>
                       
                        <div class="layui-inline">
                            <button type="submit" class="layui-btn layui-btn-primary"  lay-submit lay-filter="data-search-btn">
                                <i class="layui-icon"></i> 搜 索</button>
                        </div>
                    </div>
                </form>
            </div>
        </fieldset>

        <script type="text/html" id="toolbarDemo">
            <div class="layui-btn-container">
                <button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="add"> 添加 </button>
                <button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="del"> 批量删除 </button>
                <button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="bar"> 自行车颜色比例柱状图 </button>
                <button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="pie"> 自行车品牌比例饼图 </button>
                <button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="export"> 导出 </button>
                <button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="import"> 导入 </button>
                
               
                <!-- <button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="delete"> 删除 </button> -->

                <!-- <button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
                <button class="layui-btn layui-btn-sm" lay-event="getCheckLength">获取选中数目</button>
                <button class="layui-btn layui-btn-sm" lay-event="isAll">验证是否全选</button>
                <button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="add"> 添加 </button>
                <button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="delete"> 批量删除 </button>
                <button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="bar"> 商品比例柱状图 </button>
                <button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="pie"> 商品比例饼图 </button>
                <button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="export"> 导出 </button>
                <button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="import"> 导入 </button>
                <button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="templatedownload"> 模板下载 </button> -->

            </div>
        </script>

        <table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>

        <script type="text/html" id="currentTableBar">
            <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
            <a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
        </script>

    </div>
</div>
<script src="../lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<!-- 这里的 checked 的状态只是演示 -->
<script type="text/html" id="picTpl">
    <img src="{{d.pic}}" name="pic" alt="" style="width: 100%; height: 100%;">
</script>
<script>
    layui.use(['form', 'table'], function () {
        var $ = layui.jquery,
            form = layui.form,
            table = layui.table;

        table.render({
            elem: '#currentTableId',
            // url: '../api/table.json',
            url: 'http://localhost:8080/bicycle/bicycleList',
            toolbar: '#toolbarDemo',
            defaultToolbar: ['filter', 'exports', 'print', {
                title: '提示',
                layEvent: 'LAYTABLE_TIPS',
                icon: 'layui-icon-tips'
            }],
            cols: [[
                {type: "checkbox", width: 50},
                {field: 'id', width: 120, title: '自行车编号', sort: true},
                {field: 'bicycleName', width: 120, title: '自行车名称'},
                {field: 'bicycleBrand', width: 120, title: '自行车品牌', sort: true},
                {field: 'color', width: 120, title: '颜色'},
                {field: 'productModel', width: 150, title: '自行车类型'},
                {field: 'price', width: 120, title: '单价(元/小时)', sort: true},
                // {field: 'rent_time', width: 120, title: '租借时长', sort: true},
                {field: 'productionDate', width: 120, title: '生产日期'},
                {field: 'inventoryCount', width: 135, title: '库存数量', sort: true},
                {field: 'pic', width: 150, title: '照片', templet: '#picTpl'},
                {title: '操作', minWidth: 150, toolbar: '#currentTableBar', align: "center"}


            ]],
            limits: [10, 15, 20, 25, 50, 100],
            limit: 15,
            page: true,
            // skin: 'line'
        });

        // 监听搜索操作
        form.on('submit(data-search-btn)', function (data) {
            var result = JSON.stringify(data.field);
            layer.alert(result, {
                title: '最终的搜索信息'
            });

            //执行搜索重载
            table.reload('currentTableId', {
                page: {
                    curr: 1
                }
                , where: {
                    //searchParams: result
                    "bicycleName": data.field.bicycleName,
                    "bicycleBrand": data.field.bicycleBrand,
                    "productModel": data.field.productModel
                }
            }, 'data');

            return false;
        });


        /**
         * toolbar监听事件
         */
        // table.on('toolbar(currentTableFilter)', function (obj) {
        //     if (obj.event === 'add') {  // 监听添加操作
        //         var index = layer.open({
        //             title: '添加自行车',
        //             type: 2,
        //             shade: 0.2,
        //             maxmin:true,
        //             shadeClose: true,
        //             area: ['80%', '100%'],
        //             content: './bicycleAdd.html',
        //             end: function (index) {
        //                 table.reload('currentTableId');
        //             }
        //         });
        //         $(window).on("resize", function () {
        //             layer.full(index);
        //         });
        //     } else if (obj.event === 'import') {  // 监听导出操作
        //         layer.open({
        //                 title: '订单信息导入',
        //                 shade: 0.2,
        //                 type: 2,
        //                 shadeClose: true,   // 点别的地方 是否关闭当前 layer    true收关闭   false 不关闭
        //                 area: ['50%', '80%'],
        //                 fixed: true, //不固定
        //                 maxmin: true,
        //                 content: './bicycleImport.html',
        //                 end: function (index) {
        //                     table.reload('currentTableId');
        //                 }
        //             });
        //     }else if(obj.event === 'export'){
        //          // 数据导出到 excel 中
        //             // $("#fm1").serialize()  获取表单的输入的表单项内容  拼成正确的参数格式
        //             location.href="http://localhost:8080/bicycle/export?"+$("#fm1").serialize();
        //     }else if(obj.event === 'del'){
        //         //可以在这里实现批量删除    
        //             //获选选中行的数组
        //             var data = checkStatus.data;
        //             console.log(data)

        //             var arr = [];
        //             //得到选中行的数据的id  放入一个新的数组
        //             for(var i=0;i<data.length;i++){
        //                 arr.push(data[i].id);   //   arr   [3,5]
        //             }
        //             // 数组转字符串
        //             var ids = arr.join(",");  //  "3,5"
        //             // 把要删除的数据 的 id 拼成的字符串传到后台      
        //             $.get("http://localhost:8080/bicycle/deleteBicycleByIds",{"ids":ids},function(result){
        //                 // result 是后台 响应回来的 json 格式的对象   就是后台那个 R 
        //                 if (result.code == 200) {
        //                     // 弹出层组件
        //                     layer.msg("删除成功");
        //                     //在页面上删除 对应的 行
        //                     //obj.del(); //删除对应行（tr）的DOM结构
        //                     // 让表格重新获取下 数据源的数据
        //                     table.reload('studentTable');  // 删除完  重新加载下表格
        //                 } else {
        //                     layer.msg("删除失败");
        //                 }  
                        
        //             },"json");
                
        //     }
        // });



        //头工具栏事件
        
        table.on('toolbar(currentTableFilter)', function (obj) {  
            console.log(obj);
            var checkStatus = table.checkStatus(obj.config.id);
            switch (obj.event) {
                case 'getCheckData':
                    // 得到 选中行对象
                    var data = checkStatus.data;
                    layer.alert(JSON.stringify(data));
                    break;
                case 'getCheckLength':
                    var data = checkStatus.data;
                    layer.msg('选中了：' + data.length + ' 个');
                    break;
                case 'isAll':
                    layer.msg(checkStatus.isAll ? '全选' : '未全选');
                    break;

                case 'add':
                    layer.open({
                        title: '添加自行车',
                        shade: 0.2,
                        type: 2,
                        shadeClose: true,   // 点别的地方 是否关闭当前 layer    true收关闭   false 不关闭
                        area: ['80%', '100%'],
                        fixed: true, //不固定
                        maxmin: true,
                        content: './bicycleAdd.html',
                        end: function (index) {

                            table.reload('currentTableId');
                        }
                    });
                    break;
                case 'del':
                    
                    //可以在这里实现批量删除    

                    //获选选中行的数组
                    var data = checkStatus.data;
                    console.log(data)
                    var arr = [];
                    //得到选中行的数据的id  放入一个新的数组
                    for(var i=0;i<data.length;i++){
                        arr.push(data[i].id);   //   arr   [3,5]
                    }
                    // 数组转字符串
                    var ids = arr.join(",");  //  "3,5"
                    // 把要删除的数据 的 id 拼成的字符串传到后台      
                    $.get("http://localhost:8080/bicycle/deleteBicycleByIds",{"ids":ids},function(result){
                        // result 是后台 响应回来的 json 格式的对象   就是后台那个 R 
                        if (result.code == 200) {
                            // 弹出层组件
                            layer.msg("删除成功");
                            //在页面上删除 对应的 行
                            //obj.del(); //删除对应行（tr）的DOM结构
                            // 让表格重新获取下 数据源的数据
                            table.reload('currentTableId');  // 删除完  重新加载下表格
                        } else {
                            layer.msg("删除失败");
                        }  
                        
                    },"json")

                    break;
                case 'bar':
                    layer.open({
                        title: '颜色比例柱状图',
                        shade: 0.2,
                        type: 2,
                        shadeClose: true,   // 点别的地方 是否关闭当前 layer    true收关闭   false 不关闭
                        area: ['80%', '100%'],
                        fixed: true, //不固定
                        maxmin: true,
                        content: './bicycleColorBar.html',
                        end: function (index) {


                        }
                    });
                    break;

                case 'pie':
                    layer.open({
                        title: '自行车品牌饼状图',
                        shade: 0.2,
                        type: 2,
                        shadeClose: true,   // 点别的地方 是否关闭当前 layer    true收关闭   false 不关闭
                        area: ['80%', '100%'],
                        fixed: true, //不固定
                        maxmin: true,
                        content: './bicycleBrandPie.html',
                        end: function (index) {


                        }
                    });
                    break;
                case 'export':
                    // 数据导出到 excel 中
                    // $("#fm1").serialize()  获取表单的输入的表单项内容  拼成正确的参数格式
                    location.href="http://localhost:8080/bicycle/export?"+$("#fm1").serialize();
                    break;    
                
                case 'import':
                layer.open({
                        title: '学员信息导入',
                        shade: 0.2,
                        type: 2,
                        shadeClose: true,   // 点别的地方 是否关闭当前 layer    true收关闭   false 不关闭
                        area: ['50%', '80%'],
                        fixed: true, //不固定
                        maxmin: true,
                        content: './bicycleImport.html',
                        end: function (index) {
                            table.reload('currentTableId');
                        }
                    });
                    break;  
                    // 模板下载
                case 'templatedownload':
                    //记住这种 发送请求的方式
                    location.href="http://localhost:8080/goods/templateDownload";
                    break;


                //自定义头工具栏右侧图标 - 提示
                case 'LAYTABLE_TIPS':
                    layer.alert('这是工具栏右侧自定义的一个图标按钮');
                    break;
            };
        });





        //监听表格复选框选择
        table.on('checkbox(currentTableFilter)', function (obj) {
            console.log(obj)
        });

        table.on('tool(currentTableFilter)', function (obj) {
            var data = obj.data;
            if (obj.event === 'edit') {

                // 把要修改的数据 存到 localStorage ， 跳转到修改页面  再把它取出来展示 要修改的数据
                localStorage.setItem("bicycle", JSON.stringify(data));  // 把数据存到 localStorage   字符串的形式存入

                var index = layer.open({
                    title: '编辑用户',
                    type: 2,
                    shade: 0.2,
                    maxmin:true,
                    shadeClose: true,
                    area: ['100%', '100%'],
                    content: './bicycleEdit.html',
                    end: function (index) {
                        table.reload('currentTableId');
                    }
                });
                $(window).on("resize", function () {
                    layer.full(index);
                });
                return false;
            } else if (obj.event === 'delete') {
                layer.confirm('真的删除行么', function (index) {
                    // obj.del();
                    // layer.close(index);

                    // 向服务端发送删除请求
                    // 此处可以发送ajax
                    $.get("http://localhost:8080/bicycle/bicycleDelete",{"id":data.id},function (result){
                        if (result.code == 200) {
                            layer.msg("删除成功");
                            obj.del(); //删除对应行（tr）的DOM结构
                            table.reload('currentTableId');  // 删除完  重新加载下表格
                        } else {
                            layer.msg("删除失败");
                        }
                    },"json");
                    layer.close(index);


                });
            }
        });

    });
</script>

</body>
</html>